package cn.bdqn.model.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class ReportedinfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ReportedinfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andReportedNumberIsNull() {
            addCriterion("reported_number is null");
            return (Criteria) this;
        }

        public Criteria andReportedNumberIsNotNull() {
            addCriterion("reported_number is not null");
            return (Criteria) this;
        }

        public Criteria andReportedNumberEqualTo(Integer value) {
            addCriterion("reported_number =", value, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberNotEqualTo(Integer value) {
            addCriterion("reported_number <>", value, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberGreaterThan(Integer value) {
            addCriterion("reported_number >", value, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("reported_number >=", value, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberLessThan(Integer value) {
            addCriterion("reported_number <", value, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberLessThanOrEqualTo(Integer value) {
            addCriterion("reported_number <=", value, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberIn(List<Integer> values) {
            addCriterion("reported_number in", values, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberNotIn(List<Integer> values) {
            addCriterion("reported_number not in", values, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberBetween(Integer value1, Integer value2) {
            addCriterion("reported_number between", value1, value2, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("reported_number not between", value1, value2, "reportedNumber");
            return (Criteria) this;
        }

        public Criteria andReportedTimeIsNull() {
            addCriterion("reported_time is null");
            return (Criteria) this;
        }

        public Criteria andReportedTimeIsNotNull() {
            addCriterion("reported_time is not null");
            return (Criteria) this;
        }

        public Criteria andReportedTimeEqualTo(Date value) {
            addCriterionForJDBCDate("reported_time =", value, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("reported_time <>", value, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("reported_time >", value, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("reported_time >=", value, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeLessThan(Date value) {
            addCriterionForJDBCDate("reported_time <", value, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("reported_time <=", value, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeIn(List<Date> values) {
            addCriterionForJDBCDate("reported_time in", values, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("reported_time not in", values, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("reported_time between", value1, value2, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andReportedTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("reported_time not between", value1, value2, "reportedTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeIsNull() {
            addCriterion("case_time is null");
            return (Criteria) this;
        }

        public Criteria andCaseTimeIsNotNull() {
            addCriterion("case_time is not null");
            return (Criteria) this;
        }

        public Criteria andCaseTimeEqualTo(Date value) {
            addCriterionForJDBCDate("case_time =", value, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("case_time <>", value, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("case_time >", value, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("case_time >=", value, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeLessThan(Date value) {
            addCriterionForJDBCDate("case_time <", value, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("case_time <=", value, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeIn(List<Date> values) {
            addCriterionForJDBCDate("case_time in", values, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("case_time not in", values, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("case_time between", value1, value2, "caseTime");
            return (Criteria) this;
        }

        public Criteria andCaseTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("case_time not between", value1, value2, "caseTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeIsNull() {
            addCriterion("danger_time is null");
            return (Criteria) this;
        }

        public Criteria andDangerTimeIsNotNull() {
            addCriterion("danger_time is not null");
            return (Criteria) this;
        }

        public Criteria andDangerTimeEqualTo(Date value) {
            addCriterionForJDBCDate("danger_time =", value, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("danger_time <>", value, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("danger_time >", value, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("danger_time >=", value, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeLessThan(Date value) {
            addCriterionForJDBCDate("danger_time <", value, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("danger_time <=", value, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeIn(List<Date> values) {
            addCriterionForJDBCDate("danger_time in", values, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("danger_time not in", values, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("danger_time between", value1, value2, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andDangerTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("danger_time not between", value1, value2, "dangerTime");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationIsNull() {
            addCriterion("narrowly_location is null");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationIsNotNull() {
            addCriterion("narrowly_location is not null");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationEqualTo(String value) {
            addCriterion("narrowly_location =", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationNotEqualTo(String value) {
            addCriterion("narrowly_location <>", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationGreaterThan(String value) {
            addCriterion("narrowly_location >", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationGreaterThanOrEqualTo(String value) {
            addCriterion("narrowly_location >=", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationLessThan(String value) {
            addCriterion("narrowly_location <", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationLessThanOrEqualTo(String value) {
            addCriterion("narrowly_location <=", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationLike(String value) {
            addCriterion("narrowly_location like", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationNotLike(String value) {
            addCriterion("narrowly_location not like", value, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationIn(List<String> values) {
            addCriterion("narrowly_location in", values, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationNotIn(List<String> values) {
            addCriterion("narrowly_location not in", values, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationBetween(String value1, String value2) {
            addCriterion("narrowly_location between", value1, value2, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andNarrowlyLocationNotBetween(String value1, String value2) {
            addCriterion("narrowly_location not between", value1, value2, "narrowlyLocation");
            return (Criteria) this;
        }

        public Criteria andCityIsNull() {
            addCriterion("city is null");
            return (Criteria) this;
        }

        public Criteria andCityIsNotNull() {
            addCriterion("city is not null");
            return (Criteria) this;
        }

        public Criteria andCityEqualTo(String value) {
            addCriterion("city =", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotEqualTo(String value) {
            addCriterion("city <>", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThan(String value) {
            addCriterion("city >", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityGreaterThanOrEqualTo(String value) {
            addCriterion("city >=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThan(String value) {
            addCriterion("city <", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLessThanOrEqualTo(String value) {
            addCriterion("city <=", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityLike(String value) {
            addCriterion("city like", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotLike(String value) {
            addCriterion("city not like", value, "city");
            return (Criteria) this;
        }

        public Criteria andCityIn(List<String> values) {
            addCriterion("city in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotIn(List<String> values) {
            addCriterion("city not in", values, "city");
            return (Criteria) this;
        }

        public Criteria andCityBetween(String value1, String value2) {
            addCriterion("city between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andCityNotBetween(String value1, String value2) {
            addCriterion("city not between", value1, value2, "city");
            return (Criteria) this;
        }

        public Criteria andCountyIsNull() {
            addCriterion("county is null");
            return (Criteria) this;
        }

        public Criteria andCountyIsNotNull() {
            addCriterion("county is not null");
            return (Criteria) this;
        }

        public Criteria andCountyEqualTo(String value) {
            addCriterion("county =", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyNotEqualTo(String value) {
            addCriterion("county <>", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyGreaterThan(String value) {
            addCriterion("county >", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyGreaterThanOrEqualTo(String value) {
            addCriterion("county >=", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyLessThan(String value) {
            addCriterion("county <", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyLessThanOrEqualTo(String value) {
            addCriterion("county <=", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyLike(String value) {
            addCriterion("county like", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyNotLike(String value) {
            addCriterion("county not like", value, "county");
            return (Criteria) this;
        }

        public Criteria andCountyIn(List<String> values) {
            addCriterion("county in", values, "county");
            return (Criteria) this;
        }

        public Criteria andCountyNotIn(List<String> values) {
            addCriterion("county not in", values, "county");
            return (Criteria) this;
        }

        public Criteria andCountyBetween(String value1, String value2) {
            addCriterion("county between", value1, value2, "county");
            return (Criteria) this;
        }

        public Criteria andCountyNotBetween(String value1, String value2) {
            addCriterion("county not between", value1, value2, "county");
            return (Criteria) this;
        }

        public Criteria andRoadIsNull() {
            addCriterion("road is null");
            return (Criteria) this;
        }

        public Criteria andRoadIsNotNull() {
            addCriterion("road is not null");
            return (Criteria) this;
        }

        public Criteria andRoadEqualTo(String value) {
            addCriterion("road =", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadNotEqualTo(String value) {
            addCriterion("road <>", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadGreaterThan(String value) {
            addCriterion("road >", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadGreaterThanOrEqualTo(String value) {
            addCriterion("road >=", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadLessThan(String value) {
            addCriterion("road <", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadLessThanOrEqualTo(String value) {
            addCriterion("road <=", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadLike(String value) {
            addCriterion("road like", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadNotLike(String value) {
            addCriterion("road not like", value, "road");
            return (Criteria) this;
        }

        public Criteria andRoadIn(List<String> values) {
            addCriterion("road in", values, "road");
            return (Criteria) this;
        }

        public Criteria andRoadNotIn(List<String> values) {
            addCriterion("road not in", values, "road");
            return (Criteria) this;
        }

        public Criteria andRoadBetween(String value1, String value2) {
            addCriterion("road between", value1, value2, "road");
            return (Criteria) this;
        }

        public Criteria andRoadNotBetween(String value1, String value2) {
            addCriterion("road not between", value1, value2, "road");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeIsNull() {
            addCriterion("danger_area_type is null");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeIsNotNull() {
            addCriterion("danger_area_type is not null");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeEqualTo(String value) {
            addCriterion("danger_area_type =", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeNotEqualTo(String value) {
            addCriterion("danger_area_type <>", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeGreaterThan(String value) {
            addCriterion("danger_area_type >", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeGreaterThanOrEqualTo(String value) {
            addCriterion("danger_area_type >=", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeLessThan(String value) {
            addCriterion("danger_area_type <", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeLessThanOrEqualTo(String value) {
            addCriterion("danger_area_type <=", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeLike(String value) {
            addCriterion("danger_area_type like", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeNotLike(String value) {
            addCriterion("danger_area_type not like", value, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeIn(List<String> values) {
            addCriterion("danger_area_type in", values, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeNotIn(List<String> values) {
            addCriterion("danger_area_type not in", values, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeBetween(String value1, String value2) {
            addCriterion("danger_area_type between", value1, value2, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerAreaTypeNotBetween(String value1, String value2) {
            addCriterion("danger_area_type not between", value1, value2, "dangerAreaType");
            return (Criteria) this;
        }

        public Criteria andDangerPassIsNull() {
            addCriterion("danger_pass is null");
            return (Criteria) this;
        }

        public Criteria andDangerPassIsNotNull() {
            addCriterion("danger_pass is not null");
            return (Criteria) this;
        }

        public Criteria andDangerPassEqualTo(String value) {
            addCriterion("danger_pass =", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassNotEqualTo(String value) {
            addCriterion("danger_pass <>", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassGreaterThan(String value) {
            addCriterion("danger_pass >", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassGreaterThanOrEqualTo(String value) {
            addCriterion("danger_pass >=", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassLessThan(String value) {
            addCriterion("danger_pass <", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassLessThanOrEqualTo(String value) {
            addCriterion("danger_pass <=", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassLike(String value) {
            addCriterion("danger_pass like", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassNotLike(String value) {
            addCriterion("danger_pass not like", value, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassIn(List<String> values) {
            addCriterion("danger_pass in", values, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassNotIn(List<String> values) {
            addCriterion("danger_pass not in", values, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassBetween(String value1, String value2) {
            addCriterion("danger_pass between", value1, value2, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerPassNotBetween(String value1, String value2) {
            addCriterion("danger_pass not between", value1, value2, "dangerPass");
            return (Criteria) this;
        }

        public Criteria andDangerCauseIsNull() {
            addCriterion("danger_cause is null");
            return (Criteria) this;
        }

        public Criteria andDangerCauseIsNotNull() {
            addCriterion("danger_cause is not null");
            return (Criteria) this;
        }

        public Criteria andDangerCauseEqualTo(String value) {
            addCriterion("danger_cause =", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseNotEqualTo(String value) {
            addCriterion("danger_cause <>", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseGreaterThan(String value) {
            addCriterion("danger_cause >", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseGreaterThanOrEqualTo(String value) {
            addCriterion("danger_cause >=", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseLessThan(String value) {
            addCriterion("danger_cause <", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseLessThanOrEqualTo(String value) {
            addCriterion("danger_cause <=", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseLike(String value) {
            addCriterion("danger_cause like", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseNotLike(String value) {
            addCriterion("danger_cause not like", value, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseIn(List<String> values) {
            addCriterion("danger_cause in", values, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseNotIn(List<String> values) {
            addCriterion("danger_cause not in", values, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseBetween(String value1, String value2) {
            addCriterion("danger_cause between", value1, value2, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andDangerCauseNotBetween(String value1, String value2) {
            addCriterion("danger_cause not between", value1, value2, "dangerCause");
            return (Criteria) this;
        }

        public Criteria andInformantsIsNull() {
            addCriterion("informants is null");
            return (Criteria) this;
        }

        public Criteria andInformantsIsNotNull() {
            addCriterion("informants is not null");
            return (Criteria) this;
        }

        public Criteria andInformantsEqualTo(String value) {
            addCriterion("informants =", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsNotEqualTo(String value) {
            addCriterion("informants <>", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsGreaterThan(String value) {
            addCriterion("informants >", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsGreaterThanOrEqualTo(String value) {
            addCriterion("informants >=", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsLessThan(String value) {
            addCriterion("informants <", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsLessThanOrEqualTo(String value) {
            addCriterion("informants <=", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsLike(String value) {
            addCriterion("informants like", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsNotLike(String value) {
            addCriterion("informants not like", value, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsIn(List<String> values) {
            addCriterion("informants in", values, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsNotIn(List<String> values) {
            addCriterion("informants not in", values, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsBetween(String value1, String value2) {
            addCriterion("informants between", value1, value2, "informants");
            return (Criteria) this;
        }

        public Criteria andInformantsNotBetween(String value1, String value2) {
            addCriterion("informants not between", value1, value2, "informants");
            return (Criteria) this;
        }

        public Criteria andDriverIsNull() {
            addCriterion("driver is null");
            return (Criteria) this;
        }

        public Criteria andDriverIsNotNull() {
            addCriterion("driver is not null");
            return (Criteria) this;
        }

        public Criteria andDriverEqualTo(String value) {
            addCriterion("driver =", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverNotEqualTo(String value) {
            addCriterion("driver <>", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverGreaterThan(String value) {
            addCriterion("driver >", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverGreaterThanOrEqualTo(String value) {
            addCriterion("driver >=", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverLessThan(String value) {
            addCriterion("driver <", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverLessThanOrEqualTo(String value) {
            addCriterion("driver <=", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverLike(String value) {
            addCriterion("driver like", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverNotLike(String value) {
            addCriterion("driver not like", value, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverIn(List<String> values) {
            addCriterion("driver in", values, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverNotIn(List<String> values) {
            addCriterion("driver not in", values, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverBetween(String value1, String value2) {
            addCriterion("driver between", value1, value2, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverNotBetween(String value1, String value2) {
            addCriterion("driver not between", value1, value2, "driver");
            return (Criteria) this;
        }

        public Criteria andDriverMobIsNull() {
            addCriterion("driver_mob is null");
            return (Criteria) this;
        }

        public Criteria andDriverMobIsNotNull() {
            addCriterion("driver_mob is not null");
            return (Criteria) this;
        }

        public Criteria andDriverMobEqualTo(String value) {
            addCriterion("driver_mob =", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobNotEqualTo(String value) {
            addCriterion("driver_mob <>", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobGreaterThan(String value) {
            addCriterion("driver_mob >", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobGreaterThanOrEqualTo(String value) {
            addCriterion("driver_mob >=", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobLessThan(String value) {
            addCriterion("driver_mob <", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobLessThanOrEqualTo(String value) {
            addCriterion("driver_mob <=", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobLike(String value) {
            addCriterion("driver_mob like", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobNotLike(String value) {
            addCriterion("driver_mob not like", value, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobIn(List<String> values) {
            addCriterion("driver_mob in", values, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobNotIn(List<String> values) {
            addCriterion("driver_mob not in", values, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobBetween(String value1, String value2) {
            addCriterion("driver_mob between", value1, value2, "driverMob");
            return (Criteria) this;
        }

        public Criteria andDriverMobNotBetween(String value1, String value2) {
            addCriterion("driver_mob not between", value1, value2, "driverMob");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberIsNull() {
            addCriterion("license_number is null");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberIsNotNull() {
            addCriterion("license_number is not null");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberEqualTo(String value) {
            addCriterion("license_number =", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberNotEqualTo(String value) {
            addCriterion("license_number <>", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberGreaterThan(String value) {
            addCriterion("license_number >", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberGreaterThanOrEqualTo(String value) {
            addCriterion("license_number >=", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberLessThan(String value) {
            addCriterion("license_number <", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberLessThanOrEqualTo(String value) {
            addCriterion("license_number <=", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberLike(String value) {
            addCriterion("license_number like", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberNotLike(String value) {
            addCriterion("license_number not like", value, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberIn(List<String> values) {
            addCriterion("license_number in", values, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberNotIn(List<String> values) {
            addCriterion("license_number not in", values, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberBetween(String value1, String value2) {
            addCriterion("license_number between", value1, value2, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andLicenseNumberNotBetween(String value1, String value2) {
            addCriterion("license_number not between", value1, value2, "licenseNumber");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterionForJDBCDate("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterionForJDBCDate("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterionForJDBCDate("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andCaseStateIsNull() {
            addCriterion("case_state is null");
            return (Criteria) this;
        }

        public Criteria andCaseStateIsNotNull() {
            addCriterion("case_state is not null");
            return (Criteria) this;
        }

        public Criteria andCaseStateEqualTo(Integer value) {
            addCriterion("case_state =", value, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateNotEqualTo(Integer value) {
            addCriterion("case_state <>", value, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateGreaterThan(Integer value) {
            addCriterion("case_state >", value, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("case_state >=", value, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateLessThan(Integer value) {
            addCriterion("case_state <", value, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateLessThanOrEqualTo(Integer value) {
            addCriterion("case_state <=", value, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateIn(List<Integer> values) {
            addCriterion("case_state in", values, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateNotIn(List<Integer> values) {
            addCriterion("case_state not in", values, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateBetween(Integer value1, Integer value2) {
            addCriterion("case_state between", value1, value2, "caseState");
            return (Criteria) this;
        }

        public Criteria andCaseStateNotBetween(Integer value1, Integer value2) {
            addCriterion("case_state not between", value1, value2, "caseState");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}